
package jnpf.zc.service;

import com.baomidou.mybatisplus.extension.service.IService;
import jnpf.base.ActionResult;
import jnpf.exception.DataException;
import jnpf.report.vo.YsRaportVO;
import jnpf.report.vo.ZcglZcdjInfoEntityRaportVO;
import jnpf.zc.entity.*;
import jnpf.zc.model.zcglzcdjinfo.ZcglZcdjInfoForm;
import jnpf.zc.model.zcglzcdjinfo.ZcglZcdjInfoPagination;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 *
 * 资产登记
 * 版本： V3.2.0
 * 版权： 智果云科技（https://www.jnpfsoft.com）
 * 作者： JNPF开发平台组
 * 日期： 2024-12-19
 */
public interface ZcglZcdjInfoService extends IService<ZcglZcdjInfoEntity> {

    List<ZcglZcdjInfoEntityRaportVO> getReport(ZcglZcdjInfoPagination zcglZcdjInfoPagination);
    Integer getReportCount(ZcglZcdjInfoPagination zcglZcdjInfoPagination);
    List<YsRaportVO> getReportYs(ZcglZcdjInfoPagination zcglZcdjInfoPagination);
    Integer getReportCountYs(ZcglZcdjInfoPagination zcglZcdjInfoPagination);




    List<ZcglZcdjInfoEntity> getList(ZcglZcdjInfoPagination zcglZcdjInfoPagination);

    List<ZcglZcdjInfoEntity> getTypeList(ZcglZcdjInfoPagination zcglZcdjInfoPagination,String dataType);


    ZcglZcdjInfoEntity getInfo(String id);

    void delete(ZcglZcdjInfoEntity entity);

    void create(ZcglZcdjInfoEntity entity);

    boolean update(String id, ZcglZcdjInfoEntity entity);

//  子表方法

    //列表子表数据方法
        ZcglZcdjAreaEntity getZcglZcdjArea(String id);

        ZcglZcdjWarrantEntity getZcglZcdjWarrant(String id);

        ZcglZcdjPhotoEntity getZcglZcdjPhoto(String id);


    //验证表单
    boolean checkForm(ZcglZcdjInfoForm form, int i);

    void operateAction(String id);

    void zcdjInfoChange(ZcglZcdjInfoChangeEntity entity) throws DataException;

    void zcdjInfoChangeSplit(List<ZcglZcdjInfoChangeEntity> entitys);

    ActionResult<?> importExcel(MultipartFile file) throws Exception;

    void exportExcel(ZcglZcdjInfoPagination zcglZcdjInfoPagination, HttpServletResponse response) throws IOException;
}
